/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package kivuli.visao.popup;

import java.awt.event.ActionEvent;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import kivuli.visao.AreaDesenho;
import kivuli.visao.item.ItemDeDesenho;

/**
 *
 * @author bpmlab
 */
public abstract class PopupGeral extends JPopupMenu {

    private final ItemDeDesenho itemDeDesenho;
    private JMenuItem menuPropriedades;
    private JMenuItem menuExcluir;

    public PopupGeral(ItemDeDesenho itemDeDesenho) {
        initComponents();
        initListeners();
        this.itemDeDesenho = itemDeDesenho;
    }

    private void initComponents() {
        menuPropriedades = new JMenuItem("Propriedades");
        menuExcluir = new JMenuItem("Excluir");

        add(menuPropriedades);
        add(menuExcluir);
    }

    private void initListeners() {
        menuExcluir.addActionListener((ActionEvent e) -> {
            AreaDesenho areaDesenho = (AreaDesenho) itemDeDesenho.getParent();
            areaDesenho.removerItemDeDesenho(itemDeDesenho);
            areaDesenho.repaint();
        });

        menuPropriedades.addActionListener((ActionEvent e) -> {
            actionPropriedade(e);
        });

    }
    
    public ItemDeDesenho getItemDeDesenho() {
        return itemDeDesenho;
    }
    
    public abstract void actionPropriedade(ActionEvent e);

}
